The exhibition of hysteresis by certain materials used in certain systems, for example those used in a deformable mirror, is known.
A known problem relating to hysteresis in deformable mirrors is as follows. An input voltage is applied to an actuator in a deformable mirror, which causes it to change shape. When the input voltage is turned off, the actuator will return to its original shape in time, but in a slightly different manner. It is likely that the actuator will experience a second applied input voltage before it has returned to its original position. This causes the actuator to expand and contract in an unintended fashion. Thus, there is a degree of inaccuracy in the deformable mirror system.
Known methods of reducing the degree of this inaccuracy (i.e. methods of compensating for hysteresis in, for example, a deformable mirror) implement the Preisach model to model hysteresis in the material, and then implement an Inverse Preisach model to reduce the inaccuracy caused by hysteresis. Conventional applications of the Inverse Preisach model require large amounts of processing, for example much greater amounts of processing than is typically required for the forward Preisach model.
Conventionally, the Inverse Preisach model is implemented using a linear interpolation based inversion algorithm, which requires large amounts of processing. Also, an increasing input to the system tends not to consistently lead to an increasing output from the system. This can cause interpolation problems.
The remainder of this section introduces Preisach model terminology used later below in the description of embodiments of the present invention.
The Preisach model describes hysteresis in terms of an infinite set of elementary two-valued hysteresis operators (hysterons).
FIG. 1 is a schematic graph showing a typical input-output loop of a single two-valued relay hysteron, referred to hereinafter as a “hysteron”. The x-axis of FIG. 1 represents an input voltage to the system, and is hereinafter referred to as the “input x”. For example, the input x is the input voltage applied to an actuator that deforms a deformable mirror. The y-axis of FIG. 1 represents an output voltage from the system, and is hereinafter referred to as the “output y”. For example, the output y is the displacement by which a deformable mirror is deformed by an actuator that has received an input voltage, e.g. the input x. FIG. 1 shows that the input x ranges from minus two to two. Also, the output y takes a value of zero or one. The ranges for the input x and the output y are merely exemplary, and may be different appropriate values. The output level of one corresponds to the system being switched ‘on’, and the output level of zero corresponds to the system being switched ‘off’. The zero output level is shown in FIG. 1 as a bold line and is indicated by the reference numeral 10. The output level of one is shown in FIG. 1 as a bold line and is indicated by the reference numeral 12. FIG. 1 shows an ascending threshold α at a position corresponding to x=1, and a descending threshold β at a position corresponding to x=−1.
Graphically, FIG. 1 shows that if x is less than the descending threshold β, i.e. −2<x<−1, the output y is equal to zero (off). As the input x is increased from its lowest value (minus two), the output y remains at zero (off) until the input x reaches the ascending threshold α, i.e. as x increases, y remains at 0 (off) if −2<x<1. At the ascending threshold α, the output y switches from zero (off) to one (on). Further increasing the input x from one to two has no change of the output value y, i.e. the hysteron remains switched ‘on’. As the input x is decreased from its highest value (two), the output y remains at one (on) until the input x reaches the descending threshold β, i.e. as x decreases, y remains at 1 if −1<x<2. At the descending threshold β, the output y switches from one (on) to zero (off). Further decreasing the input x from minus one to minus two has no change of the output value y, i.e. the hysteron remains switched ‘off’.
Thus, the hysteron takes the path of a loop, and its subsequent state depends on its previous state. Consequently, the current value of the output y of the complete hysteresis loop depends upon the history of the input x.
Within a material, individual hysterons may have varied α and β values. The output y of the system at any instant will be equal to the sum over the outputs of all of the hysterons. The output of a hysteron with parameters α and β is denoted as ξαβ(x). Thus, the output y of the system is equal to the integral of the outputs over all possible hysteron pairs, i.e.
  y  =                    ∫        ∫                    α        ≥        β              ⁢          μ      ⁡              (                  α          ,          β                )              ⁢                  ξ                  α          ⁢                                          ⁢          β                    ⁡              (        x        )              ⁢          ⅆ      α        ⁢          ⅆ      β      
where μ(α,β) is a weighting, or density, function, known as the Preisach function.
This formula represents the Preisach model of hysteresis. The input to the system corresponds to the input of the Preisach model (these inputs correspond to x in the above equation). The output of the system corresponds to the output of the Preisach model (these outputs correspond to y in the above equation).
FIG. 2 is a schematic graph showing all possible α-β pairs for the hysterons in a particular material. All α and β pairs lie in a triangle 20 shown in FIG. 2. The triangle 20 is bounded by: the minimum of the input x (minus two); the maximum of the input x (two); and the line α=β line (since α≧β).
Increasing the input x from its lowest amount (minus 2) to a value x=u1 provides that all of the hysterons with an α value less than the input value of u1 will be switched ‘on’. Thus, the triangle 20 of FIG. 2 is separated into two regions. The first region contains all hysterons that are switched ‘on’, i.e. the output y equals a value of one. The second region contains all hysterons that are switched ‘off’, i.e. the output y equals a value of zero. FIG. 3 is a schematic graph showing the region of all possible α-β pairs, i.e. the triangle 20, divided into the above described two regions by increasing the input x from its lowest amount to a value x=u1. The first region, i.e. the region that contains all hysterons that are switched ‘on’ is hereinafter referred to as the “on-region 22”. The second region, i.e. the region that contains all hysterons that are switched ‘off’ is hereinafter referred to as the “off-region 24”.
Decreasing the input x from the value x=u1 to a value x=u2 provides that all of the hysterons with a β value greater than the input value of u2 will be switched ‘off’. Thus, the on-region 22 and the off-region 24 of the triangle 20 change as the input x is decreased from the value x=u1 to the value x=u2. FIG. 4 is a schematic graph showing the regions 22, 24 of the triangle 20 formed by decreasing the input x from the value x=u1 to the value x=u2, after having previously increased the input x as described above with reference to FIG. 3.
An increasing input can be thought of as a horizontal link that moves upwards on the graph shown in FIGS. 2-4. Similarly, a decreasing input can be thought of as a vertical link that moves towards the left on the graph shown in FIGS. 2-4.
By alternately increasing and decreasing the input x, the triangle 20 is separated in to two regions, the boundary between which has a number of vertices. FIG. 5 is a schematic graph showing the regions 22, 24 of the triangle 20 formed by alternately increasing and decreasing the input x. Alternately increasing and decreasing the input x produces a “staircase” shaped boundary between the on-region 22 and the off-region 24, hereinafter referred to as the “boundary 300”. The boundary 300 has four vertices, referred to hereinafter as the “first x-vertex 30” (which has coordinates (α1,β1), the “second x-vertex 32” (which has coordinates (α2,β1)), the “third x-vertex 34” (which has coordinates (α2,β2)), and the “fourth x-vertex 36” (which has coordinates (α3,β2)).
In FIG. 5 the final voltage change in the input x is a decreasing voltage change (as indicated by the vertical line from the third x-vertex 34 to the line α=β). However, it is possible for the final voltage change in the input x to be an increasing voltage change. This could be considered to be followed by a decreasing voltage change of zero for convenience.
For the Preisach Model to represent a material's behaviours, the material has to have the following two properties: the material must have the wiping-out property, which provides that certain increases and decreases in the input x can remove or ‘wipe-out’ x-vertices; and the material must have the congruency property, which states that all minor hysteresis loops that are formed by the back-and-forth variation of inputs between the same two extremum values are congruent.
The output y of the system is dependent upon the size and shape of the on-region 22. The on-region 22, in turn, is dependent upon the x-vertices 30, 32, 34, 36. Thus, as described in more detail later below, the output y of the system can be determined using the x-vertices 30, 32, 34, 36 of the boundary between the on-region 22 and the off-region 24.
The output y of the system illustrated by FIG. 5 is:
  y  =                              ∫          ∫                          α          ≥          β                    ⁢              μ        ⁡                  (                      α            ,            β                    )                    ⁢                        ξ                      α            ⁢                                                  ⁢            β                          ⁡                  (          x          )                    ⁢              ⅆ        α            ⁢              ⅆ        β              =                                        ∫            ∫                                on            ⁢                          -                        ⁢            region                          ⁢                  μ          ⁡                      (                          α              ,              β                        )                          ⁢                              ξ                          α              ⁢                                                          ⁢              β                                ⁡                      (            x            )                          ⁢                  ⅆ          α                ⁢                  ⅆ          β                    +                                    ∫            ∫                                off            ⁢                          -                        ⁢            region                          ⁢                  μ          ⁡                      (                          α              ,              β                        )                          ⁢                              ξ                          α              ⁢                                                          ⁢              β                                ⁡                      (            x            )                          ⁢                  ⅆ          α                ⁢                  ⅆ          β                    In the on-region 22, all hysterons are switched on, and therefore ξαβ(x)=1. Similarly, in the off-region 24 all hysterons are switched off, and therefore ξαβ(x)=0. Thus,
  y  =                                          ∫            ∫                                on            ⁢                          -                        ⁢            region                          ⁢                              μ            ⁡                          (                              α                ,                β                            )                                ·          1          ·                      ⅆ            α                          ⁢                  ⅆ          β                    +                                    ∫            ∫                                off            ⁢                          -                        ⁢            region                          ⁢                              μ            ⁡                          (                              α                ,                β                            )                                ·          0          ·                      ⅆ            α                          ⁢                  ⅆ          β                      =                            ∫          ∫                          on          ⁢                      -                    ⁢          region                    ⁢              μ        ⁡                  (                      α            ⁢                                                  ,            β                    )                    ⁢              ⅆ        α            ⁢              ⅆ        β            
By considering the x-vertices on the boundary 300, it can be shown that the integral can be estimated as follows:
  y  =            ∑              k        =        1            n        ⁢          (                        y                                    α              k                        ⁢                          β              k                                      -                  y                                    α              k                        ⁢                          β                              k                -                1                                                        )      where:                yαiβj is the output y resulting from increasing the input voltage x from the minimum to αi and then decreasing it to βj;        β0 is the minimum saturation voltage, i.e. minus two; and        n is the number of vertical trapezia formed by the x-vertices on the boundary 300, i.e. n is therefore equal to └½×number of vertices┘.        
In practice, to calculate the above equation, values of yαβ for a number of points in the triangle 20 are generated. Typically, a value of yαβ for each α-β pairs in a grid of α-β pairs in the triangle 20 is calculated. This is done by increasing the input x from its minimum (minus two) to α, and then decreasing it to β, and measuring the output y of the system. For α-β pairs not on the grid, a value of yαβ is found using bilinear interpolation, or linear interpolation, using α-β pairs on the grid.